package com.example.android_day01.Dome

// apply函数
fun main() {
    println("=== 新手机开箱设置 ===")

    // 创建一个手机对象
    class Phone {
        var owner = ""
        var wallpaper = "默认壁纸"
        var ringtone = "默认铃声"
        var apps = mutableListOf<String>()

        fun showSettings() {
            println("\n手机设置:")
            println("主人: $owner")
            println("壁纸: $wallpaper")
            println("铃声: $ringtone")
            println("安装的应用: ${apps.joinToString()}")
        }
    }

    // 使用 apply 配置手机
    val myPhone = Phone().apply {
        // 设置主人名字
        owner = "小明"
        // 更换壁纸
        wallpaper = "星空壁纸"
        // 更换铃声
        ringtone = "欢乐颂"
        // 安装应用
        apps.add("微信")
        apps.add("支付宝")
        apps.add("抖音")

        // 注意：这里不需要 return，apply 会自动返回配置好的对象
    }

    // 显示配置结果
    myPhone.showSettings()

    // 再配置一个手机
    val momsPhone = Phone().apply {
        owner = "妈妈"
        wallpaper = "家庭照片"
        ringtone = "经典铃声"
        apps.add("微信")
        apps.add("淘宝")
    }

    momsPhone.showSettings()
}